package cn.e4j.modular.crm.service;

import cn.e4j.core.dto.impl.Dto;
import cn.e4j.modular.crm.entity.GwgcT;
import cn.e4j.modular.crm.entity.GwgdT;
import cn.e4j.modular.crm.entity.GwgeT;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 投标申请信息 服务类
 * </p>
 *
 * @author miaoyl
 * @since 2019-11-20
 */
public interface GwgcTService extends IService<GwgcT> {

    /**
     * 获取新增默认值
     */
    Dto getAddData(Dto dto);

    /**
     * 投标申请信息新增
     */
    void addData(List<GwgdT> gwgdTList, GwgcT gwgcT);

    /**
     * 投标申请信息修改
     */
    void editData(List<GwgdT> gwgdTList, GwgcT gwgcT);

    /**
     * 投标申请信息删除
     */
    void deleteData(GwgcT gwgcT);

    /**
     * 投标申请信息批量删除
     */
    void delDataBatch(List<GwgcT> gwgcTList);

    /**
     * 批量删除投标申请信息
     */
    List<Map<String, Object>> getGwgdData(Dto dto);

    /**
     * 投标反馈明细查询
     */
    List<Map<String, Object>> getGwgeData(Dto dto);

    List<Map<String, Object>> getGwgeList(Page<Object> page, Dto dto);

    /**
     * 投标申请信息中标信息新增
     */
    void addGwgeData(List<GwgdT> gwgdTList, List<GwgeT> gwgeTList, GwgcT gwgcT);

    /**
     * 修改状态
     */
    Dto updateStatus(List<GwgcT> gwgcTList);

    Dto getGwgeCount(Dto dto);

    /**
     * 生成id
     * @return
     */
    String getGwgcId();

    Boolean existedTheParams(GwgcT gwgcT);
}
